home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 12, No. 10 (1991-10)(MindCraft Publishing)(Side A).zip
/
Nibble Volume 12, No. 10 (1991-10)(MindCraft Publishing)(Side A).po
/
PS.CONVERT.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
3KB
|
126 lines
*PS.CONVERT
*CONVERT PRINT SHOP TO UG CLIP
*March 13, 1990
ORG $1C00
*EQUATES
UG.LO EQU $19 CLIP BYTE POINTERS
UG.HI EQU $1A
PS.LO EQU $1B PRINT SHOP BYTE POINTERS
PS.HI EQU $1C
BANK EQU $1D BANK POINTER
UG.BIT EQU $1E CLIP BIT POINTER
PS.BIT EQU $1F PRINT SHOP BIT POINTER
PIXVAL EQU $E3 PIXEL VALUE
*CLEAR MEMORY MEMORY AREA FOR CLIP
CLR.0 LDA #$40
STA UG.HI
LDA #0
STA UG.LO
CLR.1 LDY #0
CLR.2 STA (UG.LO),Y
INY
BNE CLR.2
INC UG.HI
LDX UG.HI
CPX #$44
BNE CLR.1
*CREATE HEADER
LDA #$40
STA UG.HI
LDY #0
STY UG.LO
LDA #7
JSR STR.HEAD
LDA #51
JSR STR.HEAD
LDA #1
JSR STR.HEAD
LDA #4
JSR STR.HEAD
LDA #0
JSR STR.HEAD
JSR STR.HEAD
LDA #78
JSR STR.HEAD
LDA #169
JSR STR.HEAD
JMP INIT
STR.HEAD STA (UG.LO),Y
INY
RTS
*INITIALIZE POINTERS
INIT LDX #0
STX PS.LO
STX BANK
LDA #$40
STA UG.HI
LDA #$44
STA PS.HI
LDA #128
STA PS.BIT
LDA #1
STA UG.BIT
LDA #8
STA UG.LO
*GET A PIXEL VALUE
GETBIT LDY #0
LDA (PS.LO),Y
AND PS.BIT
BEQ PS0
LDA #$FF
PS0 STA PIXVAL
LSR PS.BIT INCREMENT PS POINTER
BNE PS2
INC PS.LO
BNE PS1
INC PS.HI
PS1 LDA #128
STA PS.BIT
PS2 LDA PS.LO CHECK FOR END OF CLIP
CMP #$41
BNE UG1
LDA PS.HI
CMP #$46
BNE UG1
RTS ALL DONE
*INSERT PIXEL IN CLIP BUFFER
UG1 LDA PIXVAL
AND UG.BIT
LDY BANK
ORA (UG.LO),Y
STA (UG.LO),Y
ASL UG.BIT INCREMENT BIT POINTER
LDA UG.BIT
CMP #128
BNE UG5
LDA #1
STA UG.BIT RESET BIT POINTER
LDA BANK
CMP #8
BNE UG2
INC UG.LO INCREMENT BYTE POINTER
BNE UG2 IF LAST DATA WAS FOR
INC UG.HI AUX BANK
UG2 INX
LDA BANK TOGGLE BANK POINTER
BEQ UG3
LDA #0
JMP UG4
UG3 LDA #8
UG4 STA BANK
UG5 LDA UG.BIT IF BIT POINTER = 8
CMP #16 AND TEMPORARY BYTE POINTER,
BNE UG6 X, = 12, THEN RESET, AND
CPX #12 INCREMENT BYTE POINTER
BNE UG6 BY 10
LDX #0
LDA #1
STA UG.BIT
LDA UG.LO
CLC
ADC #10
STA UG.LO
BCC UG6
INC UG.HI
UG6 JMP GETBIT